<?php
/*
*    NingYuan Technology Ltd.                                                                                                 
*                                                                                                                                                      
*   Author: KaryHuang <95358019@qq.com>                                                                              
*   Date:2011-10-26  
*   用于伪静态的php实现                 
*   可以生成如http://www.91160.com/Dep/show/depid-89.html的网址                                                                                                         
*/
class JYUrl {
	//伪静态，反向处理
	function unRewrite(){
		$pathinfo = $_SERVER['QUERY_STRING'];		

   		if(empty($pathinfo)) return;
   		
	   //modify by KaryHuang at 2010-11-17 11:16
	   //当启用重写模式后，可以生成如http://www.91160.com/Dep/show/depid-89.html的网址
	    $pathinfo = preg_replace("/.html$/", '', $pathinfo);
   		$parts = explode('/', $pathinfo);
	
	    if (isset($parts[0]) && strlen($parts[0])){
	        $_GET['c'] = $parts[0];
	    }
	    if (isset($parts[1]) && strlen($parts[1])) {
	        $_GET['a'] = $parts[1];
	    }	
	 
        for ($i = 2; $i < count($parts); $i++) {
            $p = $parts[$i];
            $arr = explode('-', $p);
            $pos = strpos($p,'-');
            $k = substr($p,0,$pos);
            $v = substr($p,$pos+1);
            if (isset($v)) {
                $_GET[$k] = $v;
            }
        }	  
	
	    // 将 $_GET 合并到 $_REQUEST，
	    // 有时需要使用 $_REQUEST 统一处理 url 中的 id=? 这样的参数
	    $_REQUEST = array_merge($_REQUEST, $_GET);
	}
	
	public function rewrite($controllerName='',$action='',$params=array(),$anchor=''){
		if(!$controllerName){
			$controllerName = 'main';
		}
		if(!$action){
			$action = 'index';
		}
		
		$url = '/'.$controllerName.'/'.$action;
		if(is_array($params)){
			foreach($params as $k=>$v){
				if($v==='') continue;
				$url .='/'.$k.'-'.$v;
			}
		}
		$url .= '.html';
		if($anchor){
			$url .='#'.$anchor;
		}
		return $url;
	}
}